home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / c / bc_pas_1.zip / READ.ME < prev    next >
Text File  |  1992-12-08  |  12KB  |  329 lines

  1.  
  2.            Pro AudioSpectrum Software Development Kit
  3.      Copyright (c) 1991,1992. Media Vision, Inc. All Rights Reserved
  4.  
  5.  
  6.          Update Release 2.02, October 2, 1992
  7.          Update Release 2.01, October 2, 1992
  8.           Final Release 2.00, July 22, 1992
  9.  
  10.  
  11.     This release of source code for the Pro AudioSpectrum has been
  12. developed with Microsoft MASM, 5.1, and Microsoft C, 6.0. The Update
  13. release 2.02 is the beta release for supporting the Borland 'C' and
  14. assembler tools.
  15.  
  16.     The code on this disk is fully functional. Each routine has been
  17. compiled for tiny, small, and large model.
  18.  
  19.     The contents of this floppy should be copied into the same directory
  20. structure as found on the floppies. When copied on to the hard drive, the
  21. developers kit will build the following directory tree:
  22.  
  23.         \INC
  24.     \SAMPLES
  25.     \PAS  ───┬─ INC
  26.          ├─ MISC
  27.          ├─ CDROMAPP
  28.          ├─ PCM
  29.          ├─ TOOLS
  30.          └─ SUBS ─┬─ CDROM
  31.               ├─ FM
  32.               ├─ MIDI
  33.               ├─ MISC
  34.               ├─ MIXERS
  35.               │  └───FYI
  36.               ├─ MVSOUND
  37.               ├─ PCM
  38.               └─ VIDEO
  39.  
  40.     To install the contents of the floppies to your hard drive, do
  41. the following:
  42.  
  43.  
  44.         1) Change directories to the root on both the source and
  45.        target drives.
  46.  
  47.        cmd:    c:\>CD \
  48.        cmd:    c:\>CD a:\
  49.  
  50.     2) Use DOS's XCOPY to move the entire contents of the first
  51.        diskette to the hard drive.
  52.  
  53.        cmd:    C:\>XCOPY a:\*.* /s
  54.  
  55.     3) Again, use DOS's XCOPY to move the entire contents of the
  56.        second diskette to the hard drive.
  57.  
  58.        cmd:    >XCOPY a:\*.* /s
  59.  
  60.     4) Once XCOPY is done, you're all done.
  61.  
  62.  
  63.     Remember, to use the MAKE files, set the "INCLUDE" and "LIB"
  64. environment variables before executing MAKE.EXE.
  65.  
  66.    cmd:  SET INCLUDE=c:\inc;c:\pas\inc;%include%
  67.          SET LIB=c:\pas\inc;%include%
  68.  
  69.     Also, If you intend on rebuilding the libraries in this release,
  70. you may have to modify the include and library paths.
  71.  
  72.  
  73.                       ----====< Revision History >====----
  74.  
  75.  
  76.     Changes as of 12/08/92
  77.  
  78.         1. Had to move a lot of external declarations around
  79.            in the .ASM files so large model Borland would not
  80.            barf at link time. The anamoly was fixup-overflows
  81.            on certain subroutine addresses in PCMIOA.ASM,
  82.            MVOUT.ASM, 3812A.ASM, MVSOUND.ASM, etc.
  83.  
  84.         2. There is now an example batch file for building
  85.            PLAYFILE, RECFILE, and CDROM applications. This batch
  86.            file is called "MK.BAT".
  87.  
  88.         3. Large model Borland libraries where missing parts
  89.            of MVSOUND.ASM due to a compile bug. This has been
  90.            fixed.
  91.  
  92.         Changes as of 11/11/92
  93.  
  94.         1. All MAKE files for the libraries have been extensively
  95.            rewritten to support the Borland Tools. Microsoft
  96.            MAKE.EXE compatibility has been dropped in favor of
  97.            NMAKE.EXE. This was done to create across the board
  98.            compatiblity between the two development environments.
  99.  
  100.         2. The number of MAKE files that are used to build the
  101.            libraries have been reduced. Each subdirectory has
  102.            one MAKE that uses internal runtime conditionals.
  103.  
  104.         3. Minor code modifications have been made to various
  105.            modules to be compatible with Borland tools.
  106.  
  107.         4. PCMIOC.C has had extensive work. Memory block allocation
  108.            is done directly through DOS instead of using a 'C'
  109.            library function. Also, file access is performed
  110.            directly through DOS instead of using the 'C' streams.
  111.            This may cause problems with the stream file pointers.
  112.            Assume the file pointers to be corrupted after use by
  113.            PCMIOC.C, and reposition as necessary.
  114.  
  115.         5. DIALOG.C now will dissolve to the original screen.
  116.  
  117.  
  118.     Changes as of 10/02/92
  119.  
  120.         1. MVGetHardware name has been changed for consistency,
  121.            to mvGetHardware.
  122.  
  123.         2. The MIDI lowlevel code had a fatal bug when used in
  124.            large model due to NEAR declaration.
  125.  
  126.         3. PCMIOC.C now has additional routines that provide
  127.            simple, arbitrary block size, record/playback. The
  128.            code is complete, but needs complete documentation.
  129.            Code examples will follow on the next update.
  130.  
  131.         Changes as of 07/22/92
  132.  
  133.                 1. CDROM access routines are provided to start/stop
  134.            music CDs. Reference documentation is included in
  135.            the developers manual.
  136.  
  137.         2. MIDI low level routines have been added. Hardware
  138.            specs are provided in the developers manual.
  139.  
  140.         3. Source code to the mixer interface is provided, with
  141.            major caveats.
  142.  
  143.         4. All low level routines that touch the hardware, now
  144.            reference it indirectly. This allows the code to
  145.            run on board that are using alternate I/O addresses.
  146.            All Pro Audio Spectrums based on the MV101 ASIC, can
  147.            be moved to different I/O locations.
  148.  
  149.         5. Building the libraries can now be accomplished using
  150.            NMAKE or MAKE. All the make files are geared to be
  151.            executed by both utilities. Batch files are included
  152.            to build each model type.
  153.  
  154.         6. 3812.EXE has been replaced by OPL3.EXE. This program
  155.            gives the user point-and-click control over the OPL3
  156.            FM chip.
  157.  
  158.         7. Borland Tools support is forthcoming. The assembler
  159.            code can be compiled using MASM51 and QUIRKS mode. The
  160.            'C' routines still have some areas to be worked out.
  161.  
  162.         8. Source code for PLAYFILE/RECFILE have been updated to
  163.            perform 16 bit digital audio.
  164.  
  165.         9. High order DMA and IRQ channels are supported. See
  166.            MVSOUND.ASM for example code.
  167.  
  168.            10. More sample programs are included, for FM, MIDI, etc.
  169.  
  170.            11. MVSOUND.SYS is required for initializing the hardware
  171.            and performing mixer/volume control.
  172.  
  173.            12. A source code control system has been established at
  174.            Media Vision to track all modules in the developers
  175.            kit. Each source code file contains a log of the
  176.            modifications.
  177.  
  178.         Changes as of 12/02/91
  179.  
  180.         1. MIXERC.C and the static mixer driver have been
  181.            changed slightly to allow the static driver to
  182.            share the same hardware state table as the linked
  183.            library routines. Before, this, two separate
  184.            tables were used, causing a potential miscommun-
  185.            ication between modules.
  186.  
  187.         2. MIXERC.C has a new function call added that allows
  188.            the programmer to load a new hardware state pointer,
  189.            or read the existing one, in the static mixer driver.
  190.            This is only required if the programmer wants to
  191.            use a third table. For most applications, this
  192.            function can be ignored. All the linked and static
  193.            code now use the same table.
  194.  
  195.         2. MIXERC.C had a bug in checking the version number
  196.            of MVSOUND.SYS. This was corrected by adding one
  197.            instruction.
  198.  
  199.         Changes as of 8/26/91
  200.  
  201.         1. StartFileOutput routine has a new parameter. A
  202.            "long" variable that holds the number of bytes to
  203.            be played from the file. Once the bytes have been
  204.            played, the file pointer will point to the next
  205.            byte. To play the whole file, just pass in a -1.
  206.  
  207.         2. PCMState has a new parameter defining the audio
  208.            compression. At the time, it is 0. Look for coming
  209.            updates...
  210.  
  211.         3. PCMIO.H has been updated for the two changes
  212.            mentioned above.
  213.  
  214.         4. The Block IN/OUT API routines in PCMIOC.C has been
  215.            re-written due to problems in starting and stopping
  216.            the DMA buffer. There was popping on playback between
  217.            blocks.
  218.  
  219.         Changes as of 8/21/91
  220.  
  221.         1. RECFILE.EXE had a couple more bugs in creating the
  222.            .WAV header. Both RECFILE.EXE and FIXWAVE.EXE have
  223.            been updated to fix these problems.
  224.  
  225.         2. PCMIOC.C had a bug in ASpecialContinueFileInput which
  226.            included discarded blocks in the "ProcessedBlockCount"
  227.            variable.
  228.  
  229.         Changes as of 8/02/91
  230.  
  231.         1. STATE.H and STATE.INC had some incorrect structure
  232.            entries.
  233.  
  234.         Changes as of 7/19/91
  235.  
  236.         1. MASM.INC macro "externADDR" used @datasize instead
  237.            of @codesize. This affected certain memory modules.
  238.  
  239.         2. PCMIO.H was moved from the "\inc" subdirectory to
  240.            "\pas\inc". This was done for the Thunderboard code.
  241.  
  242.         3. RECFILE.EXE now has a feature to pause during recording
  243.            by typing the spacebar.
  244.  
  245.     Changes as of 7/17/91
  246.  
  247.         1. PLAYFILE.EXE has been extensively re-written to
  248.            handle .VOC files in a more efficient way.
  249.  
  250.                 2. RECFILE.EXE now records to .VOC, as well as, .WAV
  251.            formats.
  252.  
  253.         3. All the make files have been modified to remove
  254.            all references to "LIBH". This is not necessary
  255.            when using combined Microsoft libraries.
  256.  
  257.         4. Previously omitted routines for PCM polling are
  258.            now available in source code. The names are,
  259.            "EnablePCMRecord" and "EnablePCMPlay". The code
  260.            is located in \PAS\SUBS\MVSOUND\MVSOUND.ASM. These
  261.            routines are similar to "PCMPlay" and "PCMRecord",
  262.            but only setup the hardware for polling. The DMA
  263.            is not involved; therefore, once either routine is
  264.            called, the CPU must poll for all data transfers.
  265.  
  266.         5. WAVEIT.EXE had a bug that appended up to 2 extra
  267.            samples to the end of the new output file. This
  268.            caused popping on playback.
  269.  
  270.         6. MVGetHWVersion now returns a long, instead of an
  271.            int. The high word indicates a product type: 0 for
  272.            the Pro AudioSpectrum; and later, will return a 1
  273.            for the Thunderboard.
  274.  
  275.         Changes as of 7/12/91
  276.  
  277.         1. MVSOUND.SYS is now included in the tools subdirectory.
  278.  
  279.         2. \SAMPLES subdirectory has been added to provide
  280.            some sample .WAV files. Other miscellaneous data
  281.            files will also be placed here in the future.
  282.  
  283.         3. A list of all files is now included in the "\PAS"
  284.            subdirectory. The file name is CONTENTS.LST.
  285.  
  286.         4. A make file for MVI.C has been added to the \PAS\MISC
  287.            subdirectory.
  288.  
  289.         Changes as of 7/08/91
  290.  
  291.         1. In the function call, "cMVGetMixerFunction" and
  292.            "MVGetMixerFunction" the returned integer is made
  293.            up of 2 bytes. The low byte is the current mixer
  294.            setting (in percentage: 0 - 100), and the high
  295.            byte is TRUE/FALSE (0 or FF) to indicate if that
  296.            channel is active. This also affects MVSOUND.SYS,
  297.            since this routine is incorporated. The new version
  298.            number for MVSOUND.SYS is 1.03.
  299.  
  300.         2. NOTE!!! Since the tiny programming model was not
  301.            supported in Microsoft C 5.1, some of the ".C" modules
  302.            will not link correctly in tiny model; Therefore, until
  303.            furthur notice (and furthur re-writing of code...) C 6.0
  304.            will be required for tiny model. This only affects those
  305.            modules written in "C".
  306.  
  307.         3. DIALOG.C and DIALOGA.ASM both contained bugs when
  308.            used in large model. Stuff like using near pointers
  309.            instead of far, etc.
  310.  
  311.         4. An early change in the code replaced the "FFAR"
  312.            used in some .ASM modules. There is a MASM
  313.            "feature" in version 5.10 (but corrected in 5.10b)
  314.            that did not allow for equate text replacedment on
  315.            the EXTRN statement.  The new approach uses a
  316.            macro that configures the EXTRN for near/far
  317.            depending upon the selected model.
  318.  
  319.         5. The developers code release disk has been reorganized
  320.            to allow for future additions for the Thunderboard.
  321.            This change places a new directory, "inc" in the
  322.            root. This directory will hold common include files
  323.            for both the Pro Audio Spectrum and the Thunderboard.
  324.  
  325.         6. A new function has been added to the library. The
  326.            name is "InitMVHardware". It resets the hardware to
  327.            the same default state as of MVSOUND.SYS.
  328.  
  329.